package com.thinkgsp.sys.persistence;

import java.sql.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.thinkgsp.sys.model.SysNumberRole;

/**
 * 编码规则持久化类
 * @author evan
 *
 */
public interface NumberRoleMapper {
	/**
	 * 获取编码规则，用于编辑
	 * @param roleId
	 * @return
	 */
	public SysNumberRole getNumberRoleForEdit(Integer roleId);
	/**
	 * 获取编码规则，用于产生新编码
	 * @param roleId
	 * @return
	 */
	public SysNumberRole getNumberRoleForNewVal(Integer roleId);
	/**
	 * 获取所有编码规则列表
	 * @return
	 */
	public List<SysNumberRole> getAllNumberRole();
	/**
	 * 插入规则
	 * @param role
	 */
	public void insertNumberRole(SysNumberRole role);
	/**
	 * 修改规则
	 * @param role
	 */
	public void updateNumberRole(SysNumberRole role);
	/**
	 * 更新参考日期
	 * @param roleId
	 * @param date
	 */
	public void updateRefDate(@Param(value="roleId")Integer roleId,@Param(value="refDate")Date date);
	/**
	 * 更新当前值
	 * @param roleId
	 * @param value
	 */
	public void updateCurVal(@Param(value="roleId")Integer roleId,@Param(value="currValue")Long value);
	/**
	 * 删除规则
	 */
	public void deleteNumberRole(Integer roleId);
}
